#ifndef SCREENINGMOLA_H
#define SCREENINGMOLA_H

#include "../../misc/MODEL.H"
#include <vector>
#include <list>
#include "ForcaMolas.h"
//#define TESTESCRMOLA
//#define TESTE

using namespace std;
class SPHERE;
class MODEL;

class ScreeningMola : public ForcaMolas
{			// Algoritmo adaptado do Screening
    private:
            double CellSize;
            REAL maiorCompMola;
            SPHERE***Cell;
            ELEMENT_LIST<SPHERE>* Spheres;				// Elementos
            ELEMENT_LIST<SPRING>* Springs;				// Elementos
            int Rows;
            int Cols;
            bool valorDaVez;
            REAL MinR[2];						// Fronteiras
            REAL MaxR[2];
            void iniciaMatriz(  REAL min_r[2], REAL max_r[2] );
            void CriaMatriz();
            void CriaMatrizParalelo();
            void checkSprings(SPHERE *s,int linha,int coluna);

	public:
            ScreeningMola();
            ScreeningMola (MODEL *pModel);
            ~ScreeningMola();
            void calcular();
};

#endif // SCREENINGMOLA_H

